package com.yinhe.music.yhmusic.comment;

import com.yinhe.music.yhmusic.collect.CollectContract;

import java.util.List;

/**
 * {@link CommentListActivity} 契约类
 *
 * @author 何晓华
 */
public interface ICommentListContract {

    interface ICommentListPresenter extends CollectContract.ICollectPresenter {

        /**
         * 获取评论列表
         *
         * @param page        当前页
         * @param pageSize    每页数量
         * @param commentType 评论类型 singer/album/movie/songmenu
         * @param id          评论类型id
         */
        void getCommentList(int page, int pageSize, String commentType, int id);

        /**
         * 发表评论
         *
         * @param id          评论类型id
         * @param content     评论内容
         * @param commentType 评论类型 singer/album/movie/songmenu
         */
        void comment(int id, String content, String commentType);

    }

    interface ICommentListView extends CollectContract.ICollectView {

        /**
         * 更新评论列表内容
         *
         * @param commentSectionList 列表数据
         * @param pageNum            总页数
         */
        void setCommentListUI(List<CommentSection> commentSectionList, int pageNum);

        /**
         * 显示空布局
         * @param visibility 显示状态
         */
        void showEmptyUI(int visibility);

        /**
         * 成功发表评论
         */
        void setCommentUI();

        /**
         * 加载更多失败
         */
        void setLoadMoreFailUI();
    }

}
